package dao

import (
	"time"
)

// 这是 LiCoupon 的全局公开dao对象
var LiCouponDao = liCouponDao{}

// 这是 li_coupon表 的实体类
type LiCoupon struct {
	Id               int       `json:"id" form:"id" v:"id"`                                              // ID
	CreateBy         string    `json:"create_by" form:"create_by" v:"create_by"`                         // 创建者
	CreateTime       time.Time `json:"create_time" form:"create_time" v:"create_time"`                   // 创建时间
	DeleteFlag       bool      `json:"delete_flag" form:"delete_flag" v:"delete_flag" gm:"delete_flag"`  // 删除标志 true/false 删除/未删除
	UpdateBy         string    `json:"update_by" form:"update_by" v:"update_by"`                         // 更新者
	UpdateTime       time.Time `json:"update_time" form:"update_time" v:"update_time"`                   // 更新时间
	EndTime          time.Time `json:"end_time" form:"end_time" v:"end_time"`                            // 活动结束时间
	PromotionName    string    `json:"promotion_name" form:"promotion_name" v:"promotion_name"`          // 活动名称
	PromotionStatus  string    `json:"promotion_status" form:"promotion_status" v:"promotion_status"`    // 活动状态
	StoreId          string    `json:"store_id" form:"store_id" v:"store_id"`                            // 店铺ID
	StoreName        string    `json:"store_name" form:"store_name" v:"store_name"`                      // 店铺名称
	StartTime        time.Time `json:"start_time" form:"start_time" v:"start_time"`                      // 活动开始时间
	ConsumeThreshold float64   `json:"consume_threshold" form:"consume_threshold" v:"consume_threshold"` // 消费门槛
	CouponDiscount   float64   `json:"coupon_discount" form:"coupon_discount" v:"coupon_discount"`       // 折扣
	CouponLimitNum   int       `json:"coupon_limit_num" form:"coupon_limit_num" v:"coupon_limit_num"`    // 领取限制
	CouponName       string    `json:"coupon_name" form:"coupon_name" v:"coupon_name"`                   // 优惠券名称
	CouponType       string    `json:"coupon_type" form:"coupon_type" v:"coupon_type"`                   // 活动类型
	Description      string    `json:"description" form:"description" v:"description"`                   // 活动描述
	GetType          string    `json:"get_type" form:"get_type" v:"get_type"`                            // 优惠券类型
	Price            float64   `json:"price" form:"price" v:"price"`                                     // 面额
	PublishNum       int       `json:"publish_num" form:"publish_num" v:"publish_num"`                   // 发行数量
	ReceivedNum      int       `json:"received_num" form:"received_num" v:"received_num"`                // 已被领取的数量
	ScopeId          string    `json:"scope_id" form:"scope_id" v:"scope_id"`                            // 范围关联的ID
	ScopeType        string    `json:"scope_type" form:"scope_type" v:"scope_type"`                      // 关联范围类型
	StoreCommission  float64   `json:"store_commission" form:"store_commission" v:"store_commission"`    // 店铺承担比例
	UsedNum          int       `json:"used_num" form:"used_num" v:"used_num"`                            // 已被使用的数量
	RangeDayType     string    `json:"range_day_type" form:"range_day_type" v:"range_day_type"`
	EffectiveDays    int       `json:"effective_days" form:"effective_days" v:"effective_days"`
}

// 注意:这是 LiCoupon 的私有dao对象
type liCouponDao struct {
	Insert func(arg LiCoupon) int      //插入一条记录
	Update func(arg LiCoupon) int      //更新一条记录
	Delete func(arg LiCoupon) int      //删除一条记录
	Select func(arg LiCoupon) LiCoupon //获取一条记录
}
